<?php
/*
This file is part of tribals-bot.

tribals-bot is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

tribals-bot is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with tribals-bot.  If not, see <http://www.gnu.org/licenses/>.
*/

define('ROOT', getcwd());

// Includo il file di configurazione
require(ROOT.'/includes/config.php');

// Includo le funzioni
require(ROOT.'/includes/functions/functions.php');
require(ROOT.'/includes/functions/tribal_functions.php');

// Includo le classi

// Istanzio le classi

// Eseguo il login solo se non è già stato fatto
if(!is_logged()){
    require(ROOT.'/includes/script_login.php');
}

if(!isset($argv[1]) or empty($argv[1])){
    $argv[1] = 'help';
}

switch($argv[1]){
    case 'help':
        echo('L\'aiuto non è ancora stato previsto, questa funzione verrà implementata in seguito'.PHP_EOL);
    break;
    
    case 'friends':
        if(!isset($argv[2]) or empty($argv[2])){
            echo('Errore, manca il 2° argmomento, consulta le istruzioni');
        }
        
        switch($argv[2]){
        // Questo fa si che verrà inviata a tutti i membri della tribù la richiesta di amicizia
        case 'ask_all':
            // Scarico la pagina dove sono elencati i membri della tribù
            $output = curl_download($tribe_members_page);
            // Inserisco tutti i nomi in un array
            $members = multiple_line_str_extract($output, $str_before_extract_triba_members, $str_after_extract_triba_members, 110);
            
            // Ora recupero i miei amici
            $output = curl_download($friends_page);
            $output = str_middle_extract($output, $str_before_extract_friends_g, $str_before_after_friends_g);
            $friends = multiple_line_str_extract($output, $str_before_extract_friends_name, $str_after_extract_friends_name);
            // Ora faccio la differenza
            $output = array_diff($friends, $members);
            // Ora elimino le stringhe in eccesso
            foreach($output as $string){
                if(!strrchr($string, $str_friends_intruse)){
                    $result[]=$string;
                }
            }
            // Ora faccio la differenza così da chiedere l'amicizia solo a chi non l'ho già chiesta
            $members = array_diff($members, $friends);
            
            // Ora faccio la richiesta a tutti
            foreach($members as $member){
                // Prendo la variabile h
                $output = curl_download($friends_page);
                $var_h = str_middle_extract($output, $str_before_extract_h_var_friend, $str_after_extract_h_var_friend);
                // Ora invio la domanda
                $post_data = array('name' => $member);
                echo('Chiedendo l\'amicizia a '.$member.PHP_EOL);
                $output = curl_download_with_post('http://'.$server.'.'.$domain.'/game.php?village=113109&action=add_buddy&h='.$var_h.'&screen=buddies', $post_data);
            }
            
        break;
        
        case 'are_not_in_tribe':
            // Ora recupero i membri della tribù
            $output = curl_download($tribe_members_page);
            $members = multiple_line_str_extract($output, $str_before_extract_triba_members, $str_after_extract_triba_members, 110);
            // Ora recupero i miei amici
            $output = curl_download($friends_page);
            $output = str_middle_extract($output, $str_before_extract_friends_g, $str_before_after_friends_g);
            $friends = multiple_line_str_extract($output, $str_before_extract_friends_name, $str_after_extract_friends_name);
            
            // Ora faccio la differenza
            $output = array_diff($friends, $members);
            // Ora elimino le stringhe in eccesso
            foreach($output as $string){
                if(!strrchr($string, $str_friends_intruse)){
                    $result[]=$string;
                }
            }
            // Ora stampo l'elenco degli amici non in tribe se ce ne sono, altrimenti informo che tutti gli amici sono nella tribù
            if(empty($result)){
                echo('Tutti i tuoi amici che hai sono nella tua tribù.'.PHP_EOL);
            }
            else{
                echo(implode(PHP_EOL, $result).PHP_EOL);
            }
        break;
    }
    break;
    
    default:
        echo('Questo argomento non esiste, usa l\'argomento help per info');
    break;
}

?>
